[レポート]基調講演2: ガバメントクラウドの基本的な考え方ーワクチン接種記録システム (VRS) をセキュアに立ち上げた事例と共に – AWS Security Roadshow Japan 2021 #awscloud #AWSSecurityRoadshow
こんにちは、芦沢です。
本日はAWS Security Roadshow Japan 2021で行われた以下の講演のレポートを書きました。
基調講演2: ガバメントクラウドの基本的な考え方 (副題:ワクチン接種記録システム (VRS) をセキュアに立ち上げた事例と共に)
ワクチン接種記録システム(VRS)を政府システムとしては異例の2ヶ月という短期間で構築できたのは、クラウドが提供するガバナンス・セキュリティ機能の活用が肝でした。VRSは、Infrastructure as Code(IaC)の手法で、すべてマネージドサービスで構築され、それがゆえにクラウドのセキュリティ機能をフル活用できています。この短期間でどう構築し、どうセキュリティを実現したかについてその裏側をお話します。
デジタル庁 企画官 山本 武史 氏 株式会社ミラボ 代表取締役 谷川 一也 氏
レポート
導入 (スピーカー:牧島かれん氏)
- デジタル庁がやること=政府システムの全体を作り替えること
- その解決策がクラウド
- マルチクラウド方式を採用
- 柔軟なニーズ
- コストパフォーマンス
- 拡張性
- アジリティ
- 耐障害性
- 回復力
- 今回は特にセキュリティの話
- BYOK等を使用して最高水準のセキュリティを担保する
ガバメントクラウドの基本的な考え方 (スピーカー:山本武史氏)
- ガバメントクラウド整備方針
- 複数のクラウドサービスを整備することが決まっている
- アジェンダ
- 1.コスト削減についての取り組み
- 2.整備方針
- 3.これからのベンチマーク
- コスト削減についての取り組み
- これまでのクラウドサービス
- 発注後に機器を設置する
- 初年度に発注したものをその後使い続けることになる=年々陳腐化
- 陳腐化による更改時には大規模な改修やデータ移行が発生する
- エンジニアの確保が困難
- これから
- これまでの問題を無くそう!がスタート
- 単価契約、従量課金、精算払い
- これまで
- 想定ピーク+余裕率を合わせた額を払い続ける
- 上記の想定を超えた場合、追加費用が一気に発生する
- これから
- 使った分だけ払うので無駄がない
- ボリュームディスカウントで更なるコスト削減が期待
- 間接契約から直接契約
- 直接契約で中間マージン(リセラー)を削除
- デジタル庁自ら「クラウドサービス事業者」になる
- これまでのクラウドサービス
- 整備方針の概要
- マルチクラウド構成
- ニーズに柔軟に対応可能
- テンプレート(IaC)の横断使用
- IaCを使ってマルチクラウド間のガバナンスをとっていく
- 標準サービスを積極活用
- 低廉かつ効率的にシステムを構築
- SDNを活用したネットワーク合理化
- 安全な専用WANを構築
- APIの使用
- 異なるクラウド間でもシステムの疎結合化して連携
- マルチクラウド構成
- 整備方針のセキュリティについて
- 各機関ごとの分散管理を担保
- データ暗号化はBYOK
- Confidential Computing
- 情報は日本国内に保管
- ベンダーロックインの軽減
- 他のベンダーに移行するときに速やかに移行できるか?が採用の条件
- 技術情報が公開されているか?
- 価格が公開されているか
- データポータビリティが確保されているか?
- 当該クラウドサービスに精通した技術者が多いか?
- 稼働状況の可視化と運用の自動化
- モニタリングサービスで稼働状況を可視化し、監視を自動化
- オートスケーリング機能を使用してコストを最適化する
- これから求める要件
- アジリティ
- レジリエンス
- ポータビリティ
→これらを担保できているのが後述するミラボ様の事例
ワクチン接種記録システム(VRS)の事例 (スピーカー:谷川一也氏)
- 概要
- VRSがなぜ2か月という短期間で構築およびセキュリティを実現したか?の話
- IaCの取り組み
- IaCのメリット
- 構築とドキュメント化を同時にできる
- 事前レビューをコードでできる
- 変更作業のミスを防止し効率化できる
- 単純作業をなくして「人員コスト削減」「開発へ集中」「高サイクルでデプロイ」の効果が生まれ
- 「低コスト」「高品質」「短期リリース」を実現
- CDKを選んだメリット
- AWSとの親和性+AWSのサポートを考慮
- セキュリティ、コンプライアンス用件などガバナンスの事前構成により実装時の漏れを防止
- CDKでインフラ構築、CodePipelineで反映を自動化
- 結果
- 手作業でのインフラ変更は0
- 変更は全てログに記録
- サーバレスのセキュアな話
- HTML/Jacascript
- Cloud Front+S3を採用
- EC2より低コスト、高パフォーマンス
- 負荷分散
- ALB、NLBを採用
- 急激な負荷上昇に対応
- バックエンド、オートスケール
- ECS Fargateを採用
- スケールアウトを自動化
- バックグラウンド、バッチ処理
- Fargate+EventBridgeで実現
- 定期的タスク実行
- DB
- RDS Auroraを採用
- 自動スケールアップが無停止で可能
- システム切り替え、簡易タスク
- StepFunctions+Lambdaを採用
- ログ監視アラート
- CloudWatch+CloudTrail+SNSを採用
- ログを可視化、アラートはSlackに通知
- HTML/Jacascript
- 予防的統制〜発見的統制
- ログの出力
- マネージドサービスを使って素早く簡単にログ出力を設定
- ログの発見
- CloudTrailで監査ログを記録
- アラート
- SNSで通知して素早く検知
- ログの出力
- VRSで実現しているセキュリティ
- 自治体職人、会場タブレットの2つに分かれている
- 職員側は、WAFを使ったIPアドレス制限
- タブレット側は、クライアント証明書による端末認証
- セキュリティ運用
- アクセス管理
- 他要素認証は、記憶+所持
- アクセスキーは使用しない、IAMロールベースで運用
- スイッチロールを使用、スイッチするたびに監査記録される
- デプロイ
- CodePipelineで自動化、人の手を介さないのでセキュリティを担保
- デプロイ時には管理者承認が必要
- 運用
- 調査作業をする時には調査専用のEC2インスタンスを使用、ログインにはSessionManagerを使用
- SessionManagerは安全に接続でき、ログも記録される
- アクセス管理
- VRS運用で活用するセキュリティサービス
- Guard Dutyでログからイベント検知
- Config Ruleで設定変更を検知
- 検知した場合はSNSへアラート
- IaCのメリット
感想
デジタル庁という政府レベルでもコストやベンダーロックインなど一般的な企業のシステムと同様の問題が課題として上がっているんだな、と思いました。
ベンダーロックインの低減のために要求される項目として、情報が公開されていることが上がっているところが印象的でした。
ミラボ様のVRSの事例でのセキュリティの取り組みでは、IaCやAWS提供サービスを利用するなど、AWSで推奨される構成を一貫して堅実に守っている、まさに「お手本」でした。
政府レベル規模のシステムで「当たり前や普通」を徹底できていることが素晴らしいな、と感じました。